{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from analysis import ANALYSIS_CONFIGS\n",
    "from analysis.analysis import FinancialAnalysis\n",
    "from analysis.doc_utils import ReportDocument"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['all_analysis.json',\n",
       " 'asset_quality_analysis.json',\n",
       " 'asset_indepth_analysis.json',\n",
       " 'asset_fraud_analysis.json',\n",
       " 'profit_analysis.json',\n",
       " 'cash_flow_analysis.json']"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ANALYSIS_CONFIGS"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "analysis = FinancialAnalysis(ANALYSIS_CONFIGS[4])\n",
    "images, titles, fields = analysis.images, analysis.titles, analysis.fields"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 营业收入及增长率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业收入增长率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>21.10%</td>\n",
       "      <td>5.81%</td>\n",
       "      <td>4.52%</td>\n",
       "      <td>4.74%</td>\n",
       "      <td>24.84%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "营业收入增长率              nan%         21.10%          5.81%          4.52%   \n",
       "\n",
       "                     2020            2021  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "营业收入增长率             4.74%          24.84%  "
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t1 = analysis.init_table('t1')\n",
    "t1['营业收入增长率'] = t1['其中：营业收入(元)'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t1')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAa0AAAEGCAYAAADWjcoaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvNQv5yAAAIABJREFUeJzt3XmcVHed7//Xu3phaaCBAA1hJ4EQkrAkxOxKYmIcd41jZtQZl3Hi3J8xc6/+HI06+lOTiXqdzDg66vDLeCfjdRnjHTVj4pjJgtkXkhCyECBsgQCB0OwNTXfX5/5xTkPR9EbTVdVV9X4+HvXoc059v1WfQxf16e8530URgZmZWSnIFDsAMzOz3nLSMjOzkuGkZWZmJcNJy8zMSoaTlpmZlQwnLbM8kTREUk2x4zArJ05aVnEkzZS0NGf/J5Le10+vfbekM9LdDwL/2UP56ZIu74/3NqsETlpWESSdK+lpSQ8APwJmS1oiaQlwGfCldP8xSVd0qNsi6XxJ75b0RCevPVzSRenuQaA53X4P8P0eQjsN+JGkj5zA6ZlVjOpiB2BWCBHxBLAAktYN8IOIuDLdvxm4JyLu6KL6LmAfsAfY28nzk4D/CVzYfkDSNJJk2CDpc0AdEMDiiPj7nLj+U9IbgAclrYuIJSdwmmZlz0nLKoKkwcAPcg5tkfQvOft/KOkP0+0vAH8BfC0iDgH7gVagDcimr3cx8OaI+CLQAhzq8JZ/BXw1Im6UlAHWRMT0zmKLiFWSfgz8PTD/BE7TrOw5aVmlCOBNwFt6KHcLSavoPcAy4P90Ue5dwMgunpsNvBHISvopSULb3NUbShoKXAXslPQHEfHbHmI0q1hOWlYpMsDSiFgmqQl4vMPz84DzgO+SXA78F+BDdJ20/gD48y6e2wt8hCSxvQF4DXiqm9j+ArgbWAL8JeCkZdYFJy2rCBFxAHhHutsIfL1DkZuAtoj4FwBJPwNukDSm42ul96AyEfFweqgWGJReMpwIvBIRL0kK4CvAWrpIRJKmANcDFwPrgL+RdEFEPNLnkzUrY05aVon+P5LOE7n+EdjRvhMRGyX9BJjSSf25HH1/bCEwGbianB65EfGIpMnAKcB1HV8kHcP1v4DvRsTK9NiNwK2Szo2I3cd/amblTV6axCqJpCdJOlM0d/L0QuDUiNjUoc564M3AeOCLEXF5h+erACKiTdJvgP+etrSmAPeRdIO/KCJ2dajzE2AE8LaIaMs5fg9QD7y9Yyxmlc4tLas0zcD7I2J9xyfS5HQg7WlIRBzs7oXSchERuQlQ6XNXAouBb5F0l39U0t8AtwFTSVpYAVzZnrDS92yT9E7gLmCFpIsiYnkfz9Ws7DhpWaWpBW6T1FlLazwwFHgv8HlJB9LjB4FftReS9GK6ORj4IvC/O7z+HwMfAz4SEfemddaTjOVaR3KPazlJi+wAHUTEbkmLgA87YZkdzZcHzfJAUm06xstsQJM0GjgHeDoiXuun12wAGiOipT9eL5encTLLAycsKwWSRgG/AV4H3CdpbHq8QdLT3dWTdKekpZL+KT12raQnJNWRXPbu94QFTlpmZpVsLvCpiLgR+B1wdnr8W8CQbur9CfDjiFgIDJe0kGQ2l1uAc0lmkckLJy0zswoVEb+PiEclvZ6ktfWIpMtIks7WbqruAM6UNJJkuMdGkk5INSQzz+RtgHzJdMTIZDIxZEh3id/MzDpqamoKjp6RZXFELG7fkSSSMYY7SRLPXwPvJqfzUSceBN5KMv5wBcmA/btIZoK5Hbhd0o0RcV8/nkoSb6l0xKirq4v9+/PW4jQzK0uSmiKirhflvkYyMfQLEXGbpCURsaiLsj8k6f26R9KngH0RsVjS+cAMoAE4JSKu7b8zSfjyoJlZhZL0WUl/mu6OJBlE/4l0nbn5km7pouoo4Kx0MPx5JGMOAWYCa0jGQ+YlvzhpmZlVrsXAn0i6H6gCLoyIRWkLa1lEfEzSHEk3dKh3U1p3NzAa+KmkEST3wV4AriGZBLrf+fKgmVkZ6+3lwVLhlpaZmZUMJy0zMysZTlpmZlYy8pa00mlAHki3ayT9h6SHJH00p8zpkn6drxjMzKy85CVppfNZ3Qq03/z7JPBkRFwEvFfScEmnkMx6XZ+PGMzMrPzkq6XVRjLCek+6vwj4ebp9P8lie3uBq/L0/mZmVobyMo1TROwBSGYHAZIW1yvpdiPQ0D69R06ZY0i6hqS/P7W1tfkI1czsuE373B0Ffb/1X39rQd9vICtUR4x9HJkxeFhv3zciFkfEwohYWF1dMtMkmplZnhQqaT0JXJxuzwPWF+h9zcysjBSq+XIrcKekS4A5wGMFel8zMysjeW1ptc8QHBEbgCuAh4DLI6KtYxkzM7OeFOxGUURs5kgPQjMzs+PmGTHMzKxkOGmZmVnJcNIyM7OS4aRlZmYlw0nLzMxKhpOWmZmVDCctMzMrGU5aZmZWMpy0zMysZDhpmZlZyXDSMjOzfiWpQVJNPl7bScvMrEJJqpf0W0l3SfqlpNMk3SHpAUl/20296R3LSbpW0hOS6oArI6IlHzE7aZmZVa4PADdHxJuArcAjwNci4hJgkqRFXdT7Rifl5gO3AOcC+/MVsJcDNjOrUBHxvZzdscBQ4Kl0fxtQ30XVWZ2UE1ADvAm4od+DTbmlZWZW3qolLc15XNOxgKQLgFEkyebLkt4OvBm4p4vX/EUn5e4C3gZsAm6XdGkezsUtLTOzMtcaEQu7elLSaOA7wFURsUHSxcBngFsjYl9ndSLihk7K/ZukDcAM4A7gKuC+fj4XJy0zs0olqRa4Dbg+XWEeYBkwBfjjHqp3Vm4msAoYSZ6u5PnyoJlZ5foz4GzgC5KWSLqapPV0c0Q0AUiaI6mze1Qdy40g6czxAnANcHc+AlZE5ON1+11dXV3s35+3DilmZr027XN3FPT91n/9rX2uK6kpIur6MZyickvLzMxKRkHuaUkaBfwYGAc8SXIt9Or06ZHAYxHx8ULEYmZmpatQLa0/AX6c9mAZDjwREYsiYhHwAPD/FygOMzMrYYVKWjuAMyWNBCYDGwEkTQQaImJpgeIwM7MSVqik9SAwFbgOWAE0psc/AXy/q0qSrmkfENfa2pr/KM3MbEArVNL6MvAXEfFV4EXgI5IywKXAkq4qRcTiiFgYEQurqz2kzMys0hUqaY0CzpJUBZwHBHAJSQeM0uhzb2ZmRVeopHUTsBjYDYwGfgpcCdxfoPc3M7MyUJBrbhHxOHBGh8OfL8R7m5lZ+fDgYjMzKxlOWmZmVjKctMzMrGQ4aZmZWclw0jIzs5LhpGVmZiXDScvMzEqG50Yys7wo5EKJJ7JIopUWt7TMzKxkOGmZmVnJcNIyM7OS4aRlZmYlw0nLzMxKhpOWmZn1K0kNkmry8dru8m5WJIXsEg7uFm7HklQP/AyoAvYDV0fEIUkNwH9GxIIu6k0HvguMAB6PiE9Luhb4ELAIuDIi/jUfMbulZWZWuT4A3BwRbwK2Am9Oj38LGNJNvW8AX4uIS4BJkhYB84FbgHNJEmBeOGmZmRXAOy6cx5xpE8hkVOxQDouI70XEf6W7Y4Ftki4jSTpbu6k6C3gq3d4G1AMCaoA3Ab/NT8ROWmZmeTd9whhmT53A2y6Yx/xTJhf67aslLc15XNOxgKQLgFEkieivgc/18Jq/AL4s6e0krbN7gLuAtwGbgNslXdqfJ9HO97TMzPJs4WnTADjU0spz6zcX+u1bI2JhV09KGg18B7iKJFl9LyJ2SV23CCPiBkkXA58Bbo2IfcC/SdoAzADuSF/vvv47jYRbWmZmeTSmfhjTJ4wBYPnaTRxqaS1yREdIqgVuA66PiA3A5cAnJC0B5ku6pZvqy4ApwM05x2YCa4Bm8pRfnLTMzPJo4WlTAYgInlq1ocjRHOPPgLOBL6SJ6h8jYlFELAKWRcTHJM2RdEMndT9D0omjCUDSCJL7YC8A1wB35yNgXx60Ac3dwq2UDR1Uy5xpJwOwetM2du07UOSIjhYR3we+38Vzi9KfLwBf7OT5L3fY3wO0d+qY36+B5ihY0pL034Cr092RwNPAeDqMDyhUPGZm+Tb/1MlUV1UBsHTl+uIGUyYKdnkwIr6f0+x8AFhH5+MDzMxKXlVGzJ85BYCtjbvZtH1nkSMqDwW/PChpItAQEZ/MOTyWpK+/mVlZOH3qyQwbMghwK6s/FeOe1ifIuYbaPj4gIh7tWDAdT3ANQG1tbcECNDM7Ue0dMPY1HeTFl7sbp2vHo6C9ByVlgEuBJel++/iAj3ZWPiIWR8TCiFhYXe0+I2ZWGqY0jGbcqBEAPLX6ZbLZKHJE5aPQXd4vAR6LiOhkfICZWVloH0zc0trGspc2FjeYMlPopHUlcH+6fdT4AElXd13NzKw0jBo+lFMnjgPg+XWvcPBQS5EjKi8FveYWEZ/P2e5yfICZWak6Z9bUw9tLV/oiUn/zjaIyUMgBuB58a9a1wbU1nDljIgBrNm+ncW/eVuioWJ7Gycysn8w9ZRK1aacxd3PPDyctM7N+kJE4Ox1MvH3XXjZs3VHkiMqTk5aZWT+YNbmBEXXJYr9uZeWPk5aZWT9o7+a+/2AzL6zfUtxgypiTlpnZCTp5zEhOHjMSgGWrN9KWzRY5ovLlpGVmdoLaW1mtbVmWvfRycYMpc05aZmYnYETdEGZNagBgxYYt7D/oFZbyyUnLzOwEnDNrCpmMAHfAKAQnrQo1Zdxo6tOeTmbWN7XVVcydMQmADa/uYPuuvUWOqPw5aVUYSbzjovn80Rtfx6ULZhc7HLOSdtaMSQyqrQFg6YvrixtMhXDSqjARQWtbG5CMK5nacFKRIzIrTRKck66Z1bhnP2s2by9yRKVD0qAO+9WSOl2iqiMnrQr0+2WrONTSCsAbz5mNpCJHZFZ6Tp04jpHDhgLw5CpPjNtbkqqA+yV9RYkPA58G3t2b+k5aFWj/wWYeeX4NAGPqh7Pg1MlFjsis9LR3cz94qIXn1r1S3GBKSES0AQeANcC7gAXAT4HW3tR30qpQS1duYOfeJgAunjuTIel1eTPrWcOoEUweNxqAZ17aSEtrW5EjGngkdffXcACvAHcCo4Bvpcd65KRVodqyWe57+kUgWU7horNOLXJEZqVj4expAGSzWZ5aXfqDiSU1SHog3T5b0t2SHpL06W7qHFNO0k2SfqfknsOlXdS7miRBTQZ+BvwTUAtMlPQ+Se/vLtY+JS1JQyW9QZLX4yphL72yjfVbXwNg/qlTGDtyWJEjMhv49rUEs6eMB2DlxlfZ23SwyBGdGEmjgFuBuvTQd4CPABcDV0ma3kXVzsqNBZ4iueTXVTZvAKYAM4CZwMeB4cBgYAIwqbt4e0xakmZ1cngGcB3wy57q28B2z5Mvks1myWTEZWefXuxwzAa8514LqjLJV+cT5dHNvQ24GtiT7o+OiI0REcAOYEQX9TorJ5LFhV8P/L6zShHxD8BGYC2wH/hnYDewJiK+HRHf7C7Y3rS0npf0yQ5v+lxEXAW4v3SJ27FnH0+v3gjA1IaTDk9HY2bHaskGz+9Ibr1s2r6TrY27ixzRiYuIPRGReyIPSbo2vUw3DVjeRdXOyj0HTAWyJD0Eu/pLOANsBz4EXAl8rLfx9iZprQImS/qlpJM7PNfU2zeygevBZ1fT1JzMl7ZowWlUV/lWp1lnVjYGzWmfixKasqla0tKcxzU9lP848CJwLfCNtCXVq3IR8XfAj0hyw78Db+1YKb2tNAR4HbAO+DlwY3qs55PpRZnmiPgrSecB/ybpTuAfImI/SVPQSlxzSysPLl/Nm849g5HDhnLu7Gk88vzaYodlNqBEBMtfS76/d+87wOpN24ocUa+1RsTC3haOiDZJK9PdH/eh3EhgL0nnimNulEdEK0nCardM0meBq3oTX7d/UkvKkCa2iHiM5DrlNuBeSb8kuY7Zo3S088uSlqSPeZJ+LunRtAXn/tZF9syajWzbmVzSPm/ODIYNGdRDDbPK8vJe2NWcbD+5agNdN0DKwg3AZ9tbWZIuk3RtL8rNAp4BHgc+SRf3tdpJugwOX6L8X5J67A3W03Wg/wf4QvtO2vz754g4D/h4RLyvpzdIzQV+GhGLImIRyTXPZyLifGAF8M5evo7lSQTc81TSBb62uppF808rckRmA8sz25OFHWsysHztpiJH0//S7+b27Q9FxAM5+/dGxHc7qdOx3KqIWB4R6yLi9LSx052vtW9IGgI8mv7sUpdJK+1nnwU+L2l5ei304fYHcLukZT0E1O584G2SHpfU3lNkTppV5wCre/k6lkcbtzXy4stbAZgz7WQmpiuxmlW6HQeCTfuS7dNH6/A0aHb8JL0tZzd38bHvAr+KiAPd1e8yaaWtqu9FxAUkra0a4H8DF0XEhRFxfkTM72WcTwCXR8Tr0teZmh6/jqTLY6c3UCRd037zsLXVH5JCWLJs5eEJdd/oLvBmAIfvZQGcNca38k/QFZK+km6HpFpJ3yWZxulLPVXu1eDgiPgPSfcAf0SS6I53zpLlEZFeDWYpMJ2kt8lySe8Brgc+38n7LgYWA9TV1fX5AvK0z93R16p9sv7rx3SYKRl79h/g8RXruPDMUxl/Uj1nzZjIs2s9r5pVrqaWYNXO5Otn+gioH+SkdSIi4i8lfSed1b0WWAL8EHiNXkzl1Ou+zRHRFBE/TCc7PF4/SjtfVJFMkPgu4Kz0uQt7E6gVzmMvrDs8yv/182ZRW+OJT6xyPb8jaEu/oeaN9XCQfnIdMIukZ+OFEXELSff4P++pYqF+A18l6bu/DHgEeC/wl5L2A5cA3ytQHNYLLW1tLFmW9GStGzyIC884pcgRmRVHWzZ4Lh1MPHYITKjroYL1SNLXgL8mmel9iqQvSfoSSTf5b0rqdnXagvwJHRHPkfQgzPW6zsrawLBiwxYWzJzCpLGjOGfWVJ5Zs/HwrPBmlWL1ruBAejt97lh57bn+8QhHbjG9B8jtYfgSsK+7ym7rWpfueXIFEUFVVYbLFnT7x49Z2YkIntmetLKGVsOp9U5Y/SEi7oyI30XE74C97dvp43sR0e14Aict69KrO/fwbDoe5ZSJ45g+YUyRIzIrnFf2wY50AvezxoiqjJNWHvzD8VZw0rJu3b98Nc2HWgC47OzZtGXdZ8YqwzOvJYOJqwVnnOSE1Z8knSXpQmCTpLN6rJDjuO5pSZpDMoGugJkR8cLx1LfS03TwEA8/v4ZLF8zmpBHDeG5HMG+s/wNbedvVHGxIF+qYNVoMrvZnvj9IGgFMBL5NMtluE1CbrsU1iiS3NEREl6vSHm9L6zmStbRmAM/2JWgrPU+u2kDjnv0APLE1aGpxa8vK2/LtRz7j8zyYuD9NJOk5eBbJLPBzSHLJYOAm4Jska2116XiT1nSS2SvWkCQuqwDZbHDvUysAOJSFx7c6aVn5OtgavJgOJp4yHEYNdtLqLxGxIiLeT9IAuo5kFozXk4zVbf9i6fYL5riSVkRsiIjW9LGhDzFbiVq75TXWbN4OwAuNwfYmJy4rTy80Bq3J7SwPJu5nkiZI+ikwlKTFdYhkJniRtLYGA1XdvUavfiOSzujk2EflQQsV5b6nXjz8gXlwc7bcl2awCtQWwbPpPIOjB8OkHhfKsOPUDHyZ5F7W50ly0PnAUySTTryLZPmrLvX2z4i/lzStw7pXH+5mRUsrQ41793NW2gljy354aZd//VZe1u4K9iedZZk7xoOJ+1tENEbEKpIFH68juUz42Yj4LLAtIv44Iv6wu9c4nt6Dfwx8PF2W5LeAJzSpQAsbxKqdySwBD28JptUHNR6/YmUgdzDxkGqYNcqf63yQ9DfAQZJLgu8DWtOrdoskzYyIbpeq6mnl4vMkfYNkpZKbImIacCMwFji5P07ASsugKnHe+OQ/8/4WeHqbW1tWHrY2wbZ0JaczThLV/mMsX+5JH3cDjenPu0lmer+6p8o9XR48C7itfUfSZOAtwDS8cGPFmj1ajEnXFn16W7D3kBOXlb7l6crEGcGZHkycNxFxT0Q8RDIH4S8i4uF0/xaSJNatbpNWRNwSEUuBjKT3kWTCrcBXuqtn5S0jccnJyUenLeDhzU5aVtr2HArW7k62Z40UQ2uctApgcETcnLN/AFjbUwe/ni4PnpS+wA8j4ucRcUVE/CgidgAvS3J/0Ao1YZg4dWTy2VqzO3hlnxOXla5nX4vDg4PmesaXvJP0MY5dkmoc8AmSxlGXeko6XyYZrXxW+5onOWufrCZZJ8sq1AUTRPvsNg++kiXrzqRWgg61BSvSNbMmDoMxQ5y0CuCHwCRJC9sPRMSrwDuBbhfw6+ny4HXA20kGgl0H7ODITbR7SAaFWYUaXisWjEv+g+84CCsanbSs9KxoDA61DyYe44tHhRARWeBakoZRrh5/AT12eY+IdSSrDP8j8M6IeEjSOyPi132K1srKgnFiRWOwrwUe2xKcUh+eXNRKRjZnMHF9LUwdUeSAyoikyRFxzDyCkp4nWaU4gAnpMKp2Q4Bfdfe6PWY1SSdLej0wHnhM0gTgr44neCtf1RlxYdop42AbLH3VrS0rHev3wJ5DyXYlr0wsqUHSAx2OnSnpv7qpc7akuyU9JOnT6bGbJP0u7QtxaWf1IuKMiDg/Ii4A/mdEXBgRFwI/Ay6LiG47+vXUEaOeZGqNPwf+haQP/TtIpuIwA+CUejg5HWr+7GtB40EnLisNz6Td3AdVwewKHUwsaRRwKzkTRqRJ52agpqt6wHeAjwAXA1ely4uMJZmSaQHwci/e/sM52/uAT/VUocukJWlc+ubvAH5AMrP7N3oRhFUYSVw8MYNI2vsPveJ5CW3g29YUbElW3GHOaFFTVZlJC2gjaZDsyTn2EeC+HuqNjoiN6XR+O4ARJLNcVJPM3N6bPg8HcrZvBd4iqdsl0rtMWhGxjWRw8VpgPjCSZGLDWcBISW+QdHkvgrIKMGaImJMOyNy4j8ML6JkNVO1TNgk4s4LXzIqIPRGxu31f0knAB4Fv9VD1IUnXSno/yYQTy0nmEpwKZIH7JZ3esZKkZyQ9IukRYES6/TDwIMltqD/p7k277YgREU2SVgJzgXrgXJLuiPXAG4BBJNNvHDdJo4FzgKcj4rW+vIYNLK8bL17aFTS3wUObs0wenqHKU+HYALSvJViTTvh8ykgxvLasP6fVkpbm7C+OiMXdlP86cH1EtPRwj+/jJPetvgp8I21x/Z2kl4AGkkUe3wqsaK+Qju29PiLuzH0hSR8AbgeaIqKtuzft7vLgcEl3ABcB/wqsJ7mG+VtgQ0R8NSK+0N2Ld/KaDZKeTq+h/gZ4HXCfpLHH8zo2MA2pFgsbkg/57kOw/DVfIrSB6bnXgrSXO/PKfzBxa0QszHl0l7AgaZB8Q9ISYL6kGzorlCaXlenuj3OeGknSO7CZznPMf2/fSCew+DXwRqCqp4RFFy/YHtBe4GMk1yX/ApgJfLanF+zBt0i6NM4FPhURNwK/A84+wde1AeLMMWLUoGR76atBU4sTlw0sLdng+XQw8fih0DC07JPWcYmIWRGxKCIWAcsi4ouSLpN0bSfFbyBZWiQAJM0CngEeBz5Jh/ta6fisUZKmpYfeD/wgIj4aEbt6E19Plwe3SLqNZGLDb5MkuZeBD/TmxXNJugzYD2yNiN+nx15P0tryzBplokriookZfrM2S0sWHt0SXDbFXwo2cKxsTC5hg1cmzpUmqU6PRcS9wL2dPP+hDvurcnaPuZ+VGk1yGfF0kr5bTZL+B8ntRQHDI+K8ruLszeDizcDm3GNdNRe7IqmWZGnld5MOHEu7VF4N7ARauqh3DXANQG1t7fG8pRXRlOFi2ohkDMyLO4MzxoT/mrUBISIOX7YeXgPT64scUGVaFRHvllQFvI0kNywFvhwRneaCXH36MyMi7jrOKp8Dvpfb/IvEJ0h6nLyji/dZ3H4dtrr6eNartGK76OQM7X0wHnQXeBsgXt4Lu9JRpmeNFZkKHUxcLJJqSO53ERFt6cxK55FchfuNpME9vUah2saXA5/IubEXkv40fW4k0KtrmVY66geJeWk34lebYNUuJy0rvvbBxDUZOH20E1YRBLARkgQm6Z9zOnQ8Qy8mrihI8yUiXt++nSaudwM/T6enfw443pablYBzGsTKnUFTKzy6OZgxIip5AKcV2Y4DwaZ9yfbpo8UgfxYLLiJaJb037UEu4HJJPyS5z/Va9OKSTMGvueXc7Lui0O9thVVbJc6fIO7dGOxvhSe3BedP8BeFFUfuEIyzKngw8QDwPPD/kkwRdVu6nQF+Iqk2Ig51V9ldZyyvThslxg1Ntp/ZHuxu9mVCK7ymlmDVzuSzN70+uXxthZcOLv5BRDQC24G/jojGdIKJ75IMieqWk5bllSQuTmeBbwt4eEu2hxpm/e/5HUFb+veS18wqnojIRsTtOdu/z3nu9tzppLri357l3fg6MSudQXvdbti0160tK5y2bPBcOph47BCYUNdDBRvQnLSsIC6YIKrTT9uDm7Nk3QXeCmT1ruBAa7JdyWtmlQsnLSuIuhpxzrjky6LxIIen0THLp4g4PJv70Go4td4Jq9Q5aVnBzBsrRqQTmzy+NTjY6sRl+fXKPthxMNk+a4y86kAZcNKygqnOiAvTThnNbUniMsunZ15LOv5UC844yQmrHDhpWUFNHwGThiXbz+8Idhxw4rL82NUchxcjnTVaDK520ioHTlpWUJK46OQMIpnP5cHNnpfQ8mP59iOfq3keTFw2nLSs4E4aIs5ML9W8sg/W9jgyw+z4HGwNXkwHE08ZDqMGO2mVCyctK4pzx4tBVcn2w1uytGbd2rL+80Jj0JqOY/eaWeXFv00risHV4rzxyV+/ew/Bsu1OWtY/2iJ4Np1ncPTgI/dQrTw4aVnRzDlJjE5Xz3lqW7CvxYnLTtzaXcH+dCnBuWM8mLjcOGlZ0WQkLpmYfARbs/DIZictOzG5g4mHVHN4+jArH05aVlQTh4kZ6ZLnq3cFW/Y7cVnfbW2CbQeS7TNOEtUeTFx2nLSs6C6ckKF9Pb4HX3EXeOu79pWJM+JwD1UrL05aVnQjBon5Y5MvmO0HONxV2ex47GkO1qXDJ2aNFENrnLTKkZOWDQhnjxN1NcmZlgMhAAAQpUlEQVT2o1uCQ21OXHZ8nt0RtH9q5o51wipXTlo2INRUiQsmJF80B1ph6atOWtZ7h9qCFenKAROHwZghTlrFJmlyPl7XScsGjJkjxfihyfby14JdzU5c1jsrGoNDHkzcZ5IaJD2QbtdI+g9JD0n6aDd1jikn6SZJv1MyzuDSfMTq364NGJK4OO0Cnw14aHO2yBFZKZA4PJi4vhamDi9yQCVG0ijgVqB9TedPAk9GxEXAeyV19S/aWbmxwFPAAuDlfMRbsKQlqV7SbyXdJemXkk6TdIekByT9baHisIFt3FAxe3RyaWfDHpg+YUyRI7KB7tSJ49hzKNn2ysR90gZcDaRz4rMI+Hm6fT+wsIt6nZUTUA28Hvh9/4da2JbWB4CbI+JNwFbgEeBrEXEJMEnSogLGYgPY+eNFTfrJvGzBbDL+ErJuLDxtGgCDqmC2BxN3plrS0pzHNblPRsSeiMidtroOeCXdbgQaunjdzso9B0wFssD9kk7vr5NoV93fL9iViPhezu5YYChJMxJgG1BfqFhsYBtaIxY2iEe2BCfVD2PBrCk8uXJDscOyAahh1AgmjxsNwJzRoqbKSasTrRHRVWupM/uAIcBuYFi636tyEfF3kl4iSWD/DrwVWNHXwDtT8Htaki4ARgE3AF+W9HbgzcA9hY7FBq65Y0R9bbJ90ZmnMmRQTXEDsgFp4expQHJN6kyvmdVfngQuTrfnAeuPs9xIYC/QTB5yTMFaWgCSRgPfAa6KiA2SLgY+A9waEcdk87QZew1AbW1tIUO1IqvKiIsmZrhzXZbBtTVcMncWdz3xfLHDsgFk2JBBzJ4yHoBTRorhtU5a/eRW4E5JlwBzgMckXQbMiYjv9lBuFvAMSdK6E/hwfwdXyI4YtcBtwPUR0X6tZxkwBbi5szoRsTgiFkbEwurqguZXGwCmDoe1m7cDMO+USYwb5W5hdsSCmVOoyiRfYfM8mPiERcSi9OcG4ArgIeDyiGiLiHs7JKyuyq2KiOURsS4iTo+Ix/o7zkJeHvwz4GzgC5KWSLqapJV1c0Q0FTAOKxGSuPepF2nLZpHEG8/u93u6VqKqqzLMPzUZu7pp+04ahjpp9aeI2BwRP+/QQaPP5fpTITtifB/4fqHez8pD4979PLXqZc6dPY3J40Zz2uTxrNy4tdhhWZGdOX0iQwYltwyWrlwPl3toRKXw4GIb8B5+7iX2H2wG4NIFp1Fd5Y9tpTvntKkA7N53gNWbthU5Gisk/++3Aa+5pZUHlq8GYETdEF53+vQiR2TFNGPCGE4aMQyAJ1dt8FI2FcZJy0rCs2s38Wpjctn8vNNnMHzo4CJHZMXS3s39UEsry9duKm4wVnBOWlYSIuCep14EoKa6ikXzTytyRFYMY+qHMW18cv9q+dpNHGppLXJEVmhOWlYyNm3fyYoNWwA4feoEJo0dVeSIrNDap2yKCM+SUqGctKykLFm2kpbWNgDeeM7peFrCyjF0UC1zpk0AYPWmV9m9/0CRI7JicNKykrK36SCPrVgLJPPOzZ0xqcgRWaHMnzmZ6qoqAJa6lVWxnLSs5Dy+Yt3hv7IvmTuLQTWeLaXcVWXEgplTANi6Yzebtu8sckRWLE5aVnJa27IseXolAEMH13LRmacWOSLLt9Onnkzd4EFAOpjYKpaTlpWklRu3snFbIwALZk1h9Ii6HmpYKVuYDibe23SQFz0jSkVz0rKSdc+TK8hmg6pMhsvOnl3scCxPpjSMZtyoEQA8vfplslkPJq5kTlpWsrbt2svyNRsBmDFhLKecPLbIEVk+tHdzb2ltY9lLG4sbjBWdk5aVtAeeXc3BQy0AXHb2bDIZ94EvJ6OGD+XUieMAeH7dK4d/11a5nLSspB1obuGh514CYNTwOhbOmlrkiKw/nZPz+3Q3dwMnLSsDT696mR27k4WvLzjzVOoGe5XrcjC4toYzZ0wEYM3m7TTu3V/kiGwgcNKykpeNODwv4aCaai6ZN6vIEVl/mHvKJGrTFcvdzd3aOWlZWVi/9TVeStdVmjtjEuNHjyhyRHYiMtLhS4Pbd+1lw9YdRY7IBgonLSsb9z39Im1tWQDecv5cLjhjBrOnjKdh1Ahqq6uKHJ0dj9OmjD+8/IxbWZbL899Y2di5r4mlK9dz3pwZjKkfxiVzj75MuO9AMzv37mfn3qYjP/clP1vTZGcDQ/tg4v0Hm3lh/ZYiR2MDiZOWlZWHn19D/bChTBo7kmFDjl4octiQQQwbMojJ40YfU29v00F27t3Pko1Z6gfByEGifhCMqIVqd6MvqIljRjLhpJEALFu9kbas/6CwI5y0rKy0tLZx+0PLAKitrmLU8DpGDR+aPuoYNSz5ObRDD8PhQwczfOhgXmhsn23hyKwLw2ugfhDUDxIjc34Or4Uqr43S79oHE7e2ZXn6pZeLG4z1SNJwIBMRuwvxfk5aVrYOtbbx6s49vLpzzzHPDaqpPpzIRucktmnjRtLcdnTZvS3JY9O+oxOaSBJXeyKrrz3SQhtem3QmsONTXzeEmZMaAFixYTNNBw8VOaLyJqkaWJs+AD4ZEc92Uu4rwFuAxyPiE5LeCfwN8GbgQuCXBQq5sElLUgPwi4i4JOfYmcDfRcQVhYzFKltzSytbG/ewtfHohLbuprdwsA12N8Ou5mB3M+w+dGS7JedKVQB7DiUP9h6d0DJKLi3WD4KRtTqqpTasBuSE1qmzZ009PKuJBxMXxFzgpxHx2a4KSDoHuBh4HfAlSZcDVwKfJUlYNRFRsL8uCpa0JI0CbgXqco4JuBmoKVQcZt2RxJBqGFIN4+uOTiwRwYFW2NUMu5uDXYeSn7ubkyTXmjOPazaScruaYQNHJ7QqJcnsXRcvONwRpL1zyL4DzQU604FnUE01c09JFvXcsHUH23ftLXJEFeF84G2SLgWeBT4eEa0dyrwB+D8REZJ+B/wBkAWGkCSzbxYy4EK2tNqAq4Ff5xz7CHAfSdY2G9AkMbQGhtbAycOOTWj7W45ule1uDnY1Jy2xtpyE1hbQeBBmTW445j0OtbayK01ijbk9Hfc1nfClsrZs0BbJ+2fTn23ZnO3240cdi+7LBmSzHY8l7/OHixZSlclQlVHysyqT7ifHMlUZqjMZMpkM1VVHj75xN/d+VS1pac7+4ohYnG4/AVweEVsk/SvJJcDbO9SvA9ak241AA/AT4Ebg34G/lfSriPhJ3s4gR8GSVkTsgSOXRSSdBHyQJGF1mrQkXQNcA1Bb66l5bOCSxLBaGFYLEzsktGya0HblJLLdzcHTr+ynftgQqjJHvrBrq6sZN2rE4aU4cjW3tLJz7372Nh0kIx3+ss/kJobDySFnPz32T88Wthfe9Alj+lTvtd37WLN5ez9HU9FaI2JhF88tj4j25v1SYGYnZfaRtKoAhpF0urhf0vuB80iS2BtJElneFbMjxteB6yOipavr++lfA4sB6urqvIiOlaSMxPDapHPG5OFHPuufWPwAkqivG5z2cszp6Tisjvq6IUfNWj+opprxo+sZP7q+GKdxjIySR1XOIyOoyiTbyzbuoq0tS1s2SzabpTWbJZsNWtuS/bbDjzhcrqWtjVUbXy32qVWSH0m6EXgOeBdJ54qOngTeB/wMmAesT4+/AbgbmE9ud9s8K2bSegMwM01Y8yXdEBFfLGI8ZgUXEezad4Bd+w6wbstrRz2XyYiRdUOP7rI/fCh1gwcd82Xfm6TwqStmHkkymZwkIx2VcDJdJKGOx3vqTPKZHz6az3866x9fJWkhieSy4FOSbomIj+WUeRC4SdK3SXoLvllSBmgCXiXpjPFrCqRoSSsiDk9XIGmJE5bZ0bLZoHHv/n6b3fzHHzytX17HykdEPEfSgzDXxzqUyaY9Bt8KfDsi1qVP/Xv687L8Rnm0gietiFjUm2NmZjYwRMQB4BfFjgM8Ya6ZmZUQJy0zMysZTlpmZlYynLTMzKxkOGmZmVnJcNIyM7OS4aRlZmYlw0nLzMxKhpOWmZmVDCctMzMrGU5aZmZWMpy0zMysZDhpmZlZyXDSMjOzkuGkZWZmJcNJy8zMSoaTlpmZlQwnLTMzKxlOWmZmVjKctMzMrGQ4aZmZWclw0jIzsz6T1CCpplDvV/SkJemfJT0i6YvFjsXMrNL05ju4YxlJ10p6QlIdcGVEtBQq3qImLUnvAaoi4gJghqSZxYzHzKyS9OY7uIsy84FbgHOB/YWMudgtrUXAz9Ptu4CLixeKmVnFWUTP38GdlRFQA7wJ+G1eI+ygupBv1ok64JV0uxE4O/dJSdcA16S7IelAAWOD5N+n9Xgr6Rt5iCQ/jvv8yvncoGTOr5zPDfy5PMYJnt8QSUtz9hdHxOJ0u9vv4G7K3AV8BLgduF3SjRFx3wlF2UvFTlr7gCHp9jA6tPzSf9jFHSsViqSlEbGwWO+fb+V8fj630lXO5zcAz63b7+CuykTEv0naAMwA7gCuAgqStIp9efBJjjRH5wHrixeKmVnF6c13cFdlZgJrgGYKmEuK3dL6FfCApJOBPwDOL3I8ZmaVpON38B9JuiEivthNmfMljQC2Ai8A/wR8tVABFzVpRcQeSYuAK4BvRsTuYsbTiaJdmiyQcj4/n1vpKufzG1Dn1sl38FbgmR7KtH9P/1f6c36BwgVAEVHI9zMzM+uzYt/TMjMz6zUnLTMzKxkVm7Qk1Uv6raS7JP1SUm1n05mk82o90En9/5BU0Gu5vdXXc5P0FUlL0seLkq4vzhl07QTObYakeyQtk/TXxYm+ZydwfmdLulvSQ5I+XZzou9ebc+usTHp8QE/3doLn1ul3jHWuYpMW8AHg5oh4E0kvmD+iw1QlkkYBt5IMrjtM0geANRGxrNBB91Kfzi0ivhwRiyJiEfAc8K+FD71Hff29XQt8KSLmA1dKGlvowHupr+f3HZLBnhcDV0maXuC4e6PHc+ukzJtLZLq3vp5bp98x1rWKTVoR8b2IaO/9Mhb4IMdOVdIGXA3saa8naTTwt8BOSZcWLuLe6+u5tZN0LrApIl7p+FyxncC57QDmSmoABgG7ChPx8TmB8xsdERsj6Vm1AxhRoJB7rTfn1kmZbZTAdG8ncG5d/j+0zlVs0mon6QJgFLCRo6cqaYiIPZ10w/8fwG0kYxP+VNI7ChbscerDubX7S5K/3AesPpzbf5KMA7wOuJc+TKVTSH04v4eUzLz9fmAasLxgwR6n7s6tY5mIeJRjpxFqYIA63nPr4f+hdaKik1baavoO8FF6N50JwALgH9PxDD8n+StwwOnjuSFpJDAuItbkPcg+6uO5fQ74cER8IS1/Rb7j7Ks+nt/HgRdJLoN+IwboWJbenFuHMnRVbqDp47nZcRqQv/xCSG+C3gZcHxEb6P2UUi+RzLcFsBDYkMcw++QEzg3gncCdeQ3wBJzAuU0HJksaTDLh50D9Uu/T+UVEG7Ay3f1xnsPsk96cWydl6KxcwYLupRM4NzteEVGRD+C/ATuBJenjQyQjwW8GVgD1OWWX5GyfTPKl/hDJiPDhxT6X/jq3dP8nwNnFPoc8/N7eCqwF9gI/JblJXvTz6eff3a3AJcU+hxM5t07KXE1yf67Tf4OB8ujruXX1u/Sj64dnxMiR9uS5Arg/kst/ZcPnVrrK+fx6e26l+G9QijGXAictMzMrGRV7T8vMzEqPk5aZmZUMJy0zMysZTlpmZlYynLTMzKxk/F9Ik9Hu0eNQrQAAAABJRU5ErkJggg==\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edb911e390>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t1')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 毛利率及毛利率波动"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业成本(元)</th>\n",
       "      <td>2,474,046,300</td>\n",
       "      <td>3,250,587,700</td>\n",
       "      <td>3,450,765,200</td>\n",
       "      <td>3,548,777,700</td>\n",
       "      <td>3,563,206,900</td>\n",
       "      <td>4,835,053,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率</th>\n",
       "      <td>57.31%</td>\n",
       "      <td>53.68%</td>\n",
       "      <td>53.52%</td>\n",
       "      <td>54.27%</td>\n",
       "      <td>56.16%</td>\n",
       "      <td>52.35%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率波动率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>-6.33%</td>\n",
       "      <td>-0.29%</td>\n",
       "      <td>1.40%</td>\n",
       "      <td>3.49%</td>\n",
       "      <td>-6.79%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "其中：营业成本(元)  2,474,046,300  3,250,587,700  3,450,765,200  3,548,777,700   \n",
       "毛利率                57.31%         53.68%         53.52%         54.27%   \n",
       "毛利率波动率               nan%         -6.33%         -0.29%          1.40%   \n",
       "\n",
       "                     2020            2021  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "其中：营业成本(元)  3,563,206,900   4,835,053,400  \n",
       "毛利率                56.16%          52.35%  \n",
       "毛利率波动率              3.49%          -6.79%  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t2 = analysis.init_table('t2')\n",
    "t2['毛利率'] = (t2['其中：营业收入(元)'] - t2['其中：营业成本(元)']) / t2['其中：营业收入(元)']\n",
    "t2['毛利率波动率'] = t2['毛利率'].pct_change()\n",
    "\n",
    "analysis.format_show_table('t2')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc430e3c8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t2')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 期间费用率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>销售费用(元)</th>\n",
       "      <td>1,545,113,300</td>\n",
       "      <td>1,677,876,500</td>\n",
       "      <td>1,909,856,800</td>\n",
       "      <td>1,928,259,200</td>\n",
       "      <td>2,146,965,000</td>\n",
       "      <td>2,454,418,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>管理费用(元)</th>\n",
       "      <td>449,159,300</td>\n",
       "      <td>247,834,600</td>\n",
       "      <td>272,355,100</td>\n",
       "      <td>284,364,100</td>\n",
       "      <td>296,985,800</td>\n",
       "      <td>363,762,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>研发费用(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>233,127,000</td>\n",
       "      <td>293,427,200</td>\n",
       "      <td>299,469,100</td>\n",
       "      <td>303,347,600</td>\n",
       "      <td>366,026,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>财务费用(元)</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四费合计</th>\n",
       "      <td>1,994,272,600</td>\n",
       "      <td>2,158,838,100</td>\n",
       "      <td>2,475,639,100</td>\n",
       "      <td>2,512,092,400</td>\n",
       "      <td>2,747,298,400</td>\n",
       "      <td>3,184,207,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期间费用率</th>\n",
       "      <td>34.41%</td>\n",
       "      <td>30.76%</td>\n",
       "      <td>33.34%</td>\n",
       "      <td>32.37%</td>\n",
       "      <td>33.80%</td>\n",
       "      <td>31.38%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>毛利率</th>\n",
       "      <td>57.31%</td>\n",
       "      <td>53.68%</td>\n",
       "      <td>53.52%</td>\n",
       "      <td>54.27%</td>\n",
       "      <td>56.16%</td>\n",
       "      <td>52.35%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>期间费用率占毛利率的比率</th>\n",
       "      <td>60.05%</td>\n",
       "      <td>57.31%</td>\n",
       "      <td>62.29%</td>\n",
       "      <td>59.64%</td>\n",
       "      <td>60.18%</td>\n",
       "      <td>59.94%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018           2019  \\\n",
       "销售费用(元)       1,545,113,300  1,677,876,500  1,909,856,800  1,928,259,200   \n",
       "管理费用(元)         449,159,300    247,834,600    272,355,100    284,364,100   \n",
       "研发费用(元)                   0    233,127,000    293,427,200    299,469,100   \n",
       "财务费用(元)                   0              0              0              0   \n",
       "四费合计          1,994,272,600  2,158,838,100  2,475,639,100  2,512,092,400   \n",
       "其中：营业收入(元)    5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "期间费用率                34.41%         30.76%         33.34%         32.37%   \n",
       "毛利率                  57.31%         53.68%         53.52%         54.27%   \n",
       "期间费用率占毛利率的比率         60.05%         57.31%         62.29%         59.64%   \n",
       "\n",
       "                       2020            2021  \n",
       "销售费用(元)       2,146,965,000   2,454,418,000  \n",
       "管理费用(元)         296,985,800     363,762,400  \n",
       "研发费用(元)         303,347,600     366,026,700  \n",
       "财务费用(元)                   0               0  \n",
       "四费合计          2,747,298,400   3,184,207,100  \n",
       "其中：营业收入(元)    8,128,620,799  10,147,706,035  \n",
       "期间费用率                33.80%          31.38%  \n",
       "毛利率                  56.16%          52.35%  \n",
       "期间费用率占毛利率的比率         60.18%          59.94%  "
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t3 = analysis.init_table('t3')\n",
    "t3.loc[t3['财务费用(元)']<0, '财务费用(元)'] = 0\n",
    "t3['四费合计'] = t3.T[:4].sum()\n",
    "t3['期间费用率'] = t3['四费合计'] / t3['其中：营业收入(元)']\n",
    "t3['毛利率'] = t2['毛利率']\n",
    "t3['期间费用率占毛利率的比率'] = t3['期间费用率'] / t3['毛利率']\n",
    "\n",
    "analysis.format_show_table('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc535b2e8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc53f2710>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t3', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 销售费用率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>销售费用(元)</th>\n",
       "      <td>1,545,113,300</td>\n",
       "      <td>1,677,876,500</td>\n",
       "      <td>1,909,856,800</td>\n",
       "      <td>1,928,259,200</td>\n",
       "      <td>2,146,965,000</td>\n",
       "      <td>2,454,418,000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>销售费用率</th>\n",
       "      <td>26.66%</td>\n",
       "      <td>23.91%</td>\n",
       "      <td>25.72%</td>\n",
       "      <td>24.85%</td>\n",
       "      <td>26.41%</td>\n",
       "      <td>24.19%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                     2016           2017           2018           2019  \\\n",
       "销售费用(元)     1,545,113,300  1,677,876,500  1,909,856,800  1,928,259,200   \n",
       "其中：营业收入(元)  5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "销售费用率              26.66%         23.91%         25.72%         24.85%   \n",
       "\n",
       "                     2020            2021  \n",
       "销售费用(元)     2,146,965,000   2,454,418,000  \n",
       "其中：营业收入(元)  8,128,620,799  10,147,706,035  \n",
       "销售费用率              26.41%          24.19%  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t4 = analysis.init_table('t4')\n",
    "t4['销售费用率'] = t4['销售费用(元)'] / t4['其中：营业收入(元)']\n",
    "\n",
    "analysis.format_show_table('t4')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc5494dd8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t4')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 主营利润率"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>其中：营业收入(元)</th>\n",
       "      <td>5,794,897,867</td>\n",
       "      <td>7,017,397,058</td>\n",
       "      <td>7,424,885,274</td>\n",
       "      <td>7,760,581,856</td>\n",
       "      <td>8,128,620,799</td>\n",
       "      <td>10,147,706,035</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>其中：营业成本(元)</th>\n",
       "      <td>2,474,046,300</td>\n",
       "      <td>3,250,587,700</td>\n",
       "      <td>3,450,765,200</td>\n",
       "      <td>3,548,777,700</td>\n",
       "      <td>3,563,206,900</td>\n",
       "      <td>4,835,053,400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业税金及附加(元)</th>\n",
       "      <td>67,524,300</td>\n",
       "      <td>66,643,000</td>\n",
       "      <td>70,571,400</td>\n",
       "      <td>66,618,100</td>\n",
       "      <td>61,956,600</td>\n",
       "      <td>80,591,300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四费合计</th>\n",
       "      <td>1,994,272,600</td>\n",
       "      <td>2,158,838,100</td>\n",
       "      <td>2,475,639,100</td>\n",
       "      <td>2,512,092,400</td>\n",
       "      <td>2,747,298,400</td>\n",
       "      <td>3,184,207,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润</th>\n",
       "      <td>1,259,054,667</td>\n",
       "      <td>1,541,328,258</td>\n",
       "      <td>1,427,909,574</td>\n",
       "      <td>1,633,093,656</td>\n",
       "      <td>1,756,158,899</td>\n",
       "      <td>2,047,854,235</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润率</th>\n",
       "      <td>21.73%</td>\n",
       "      <td>21.96%</td>\n",
       "      <td>19.23%</td>\n",
       "      <td>21.04%</td>\n",
       "      <td>21.60%</td>\n",
       "      <td>20.18%</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>三、营业利润(元)</th>\n",
       "      <td>1,334,633,128</td>\n",
       "      <td>1,690,032,921</td>\n",
       "      <td>1,701,556,037</td>\n",
       "      <td>1,871,755,798</td>\n",
       "      <td>1,951,474,414</td>\n",
       "      <td>1,535,200,561</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>主营利润占营业利润的比率</th>\n",
       "      <td>94.34%</td>\n",
       "      <td>91.20%</td>\n",
       "      <td>83.92%</td>\n",
       "      <td>87.25%</td>\n",
       "      <td>89.99%</td>\n",
       "      <td>133.39%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                       2016           2017           2018           2019  \\\n",
       "其中：营业收入(元)    5,794,897,867  7,017,397,058  7,424,885,274  7,760,581,856   \n",
       "其中：营业成本(元)    2,474,046,300  3,250,587,700  3,450,765,200  3,548,777,700   \n",
       "营业税金及附加(元)       67,524,300     66,643,000     70,571,400     66,618,100   \n",
       "四费合计          1,994,272,600  2,158,838,100  2,475,639,100  2,512,092,400   \n",
       "主营利润          1,259,054,667  1,541,328,258  1,427,909,574  1,633,093,656   \n",
       "主营利润率                21.73%         21.96%         19.23%         21.04%   \n",
       "三、营业利润(元)     1,334,633,128  1,690,032,921  1,701,556,037  1,871,755,798   \n",
       "主营利润占营业利润的比率         94.34%         91.20%         83.92%         87.25%   \n",
       "\n",
       "                       2020            2021  \n",
       "其中：营业收入(元)    8,128,620,799  10,147,706,035  \n",
       "其中：营业成本(元)    3,563,206,900   4,835,053,400  \n",
       "营业税金及附加(元)       61,956,600      80,591,300  \n",
       "四费合计          2,747,298,400   3,184,207,100  \n",
       "主营利润          1,756,158,899   2,047,854,235  \n",
       "主营利润率                21.60%          20.18%  \n",
       "三、营业利润(元)     1,951,474,414   1,535,200,561  \n",
       "主营利润占营业利润的比率         89.99%         133.39%  "
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t5 = analysis.init_table('t5')\n",
    "t5['四费合计'] = t3['四费合计']\n",
    "t5['主营利润'] = t5['其中：营业收入(元)'] - t5.T[1:4].sum()\n",
    "t5['主营利润率'] = t5['主营利润'] / t5['其中：营业收入(元)']\n",
    "t5['主营利润占营业利润的比率'] = t5['主营利润'] / t5['三、营业利润(元)']\n",
    "\n",
    "analysis.format_show_table('t5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc550f5f8>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t5')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc553d780>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t5', image_index=1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 营业外收入净额"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>加：营业外收入(元)</th>\n",
       "      <td>70,955,800</td>\n",
       "      <td>4,101,300</td>\n",
       "      <td>2,375,700</td>\n",
       "      <td>4,098,200</td>\n",
       "      <td>1,084,400</td>\n",
       "      <td>1,779,800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>减：营业外支出(元)</th>\n",
       "      <td>1,329,900</td>\n",
       "      <td>1,459,600</td>\n",
       "      <td>1,607,100</td>\n",
       "      <td>4,323,600</td>\n",
       "      <td>3,953,200</td>\n",
       "      <td>4,211,500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业外收入净额</th>\n",
       "      <td>69,625,900</td>\n",
       "      <td>2,641,700</td>\n",
       "      <td>768,600</td>\n",
       "      <td>-225,400</td>\n",
       "      <td>-2,868,800</td>\n",
       "      <td>-2,431,700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>四、利润总额(元)</th>\n",
       "      <td>1,404,259,100</td>\n",
       "      <td>1,692,674,700</td>\n",
       "      <td>1,702,324,700</td>\n",
       "      <td>1,871,530,500</td>\n",
       "      <td>1,948,605,500</td>\n",
       "      <td>1,532,768,900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>营业外收入净额占利润总额的比率</th>\n",
       "      <td>4.96%</td>\n",
       "      <td>0.16%</td>\n",
       "      <td>0.05%</td>\n",
       "      <td>-0.01%</td>\n",
       "      <td>-0.15%</td>\n",
       "      <td>-0.16%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          2016           2017           2018           2019  \\\n",
       "加：营业外收入(元)          70,955,800      4,101,300      2,375,700      4,098,200   \n",
       "减：营业外支出(元)           1,329,900      1,459,600      1,607,100      4,323,600   \n",
       "营业外收入净额             69,625,900      2,641,700        768,600       -225,400   \n",
       "四、利润总额(元)        1,404,259,100  1,692,674,700  1,702,324,700  1,871,530,500   \n",
       "营业外收入净额占利润总额的比率          4.96%          0.16%          0.05%         -0.01%   \n",
       "\n",
       "                          2020           2021  \n",
       "加：营业外收入(元)           1,084,400      1,779,800  \n",
       "减：营业外支出(元)           3,953,200      4,211,500  \n",
       "营业外收入净额             -2,868,800     -2,431,700  \n",
       "四、利润总额(元)        1,948,605,500  1,532,768,900  \n",
       "营业外收入净额占利润总额的比率         -0.15%         -0.16%  "
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t6 = analysis.init_table('t6')\n",
    "t6['营业外收入净额'] = t6['加：营业外收入(元)'] - t6['减：营业外支出(元)']\n",
    "t6['营业外收入净额占利润总额的比率'] = t6['营业外收入净额'] / t6['四、利润总额(元)']\n",
    "\n",
    "analysis.format_show_table('t6')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc54ea4e0>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t6')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 归母净利润及增速"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>2016</th>\n",
       "      <th>2017</th>\n",
       "      <th>2018</th>\n",
       "      <th>2019</th>\n",
       "      <th>2020</th>\n",
       "      <th>2021</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>归属于母公司所有者的净利润(元)</th>\n",
       "      <td>1,206,833,900</td>\n",
       "      <td>1,461,213,500</td>\n",
       "      <td>1,473,579,700</td>\n",
       "      <td>1,589,814,800</td>\n",
       "      <td>1,660,750,000</td>\n",
       "      <td>1,331,712,100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>归属于母公司所有者的净利润增长率</th>\n",
       "      <td>nan%</td>\n",
       "      <td>21.08%</td>\n",
       "      <td>0.85%</td>\n",
       "      <td>7.89%</td>\n",
       "      <td>4.46%</td>\n",
       "      <td>-19.81%</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                           2016           2017           2018           2019  \\\n",
       "归属于母公司所有者的净利润(元)  1,206,833,900  1,461,213,500  1,473,579,700  1,589,814,800   \n",
       "归属于母公司所有者的净利润增长率           nan%         21.08%          0.85%          7.89%   \n",
       "\n",
       "                           2020           2021  \n",
       "归属于母公司所有者的净利润(元)  1,660,750,000  1,331,712,100  \n",
       "归属于母公司所有者的净利润增长率          4.46%        -19.81%  "
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t7 = analysis.init_table('t7')\n",
    "t7['归属于母公司所有者的净利润增长率'] = t7.pct_change()\n",
    "\n",
    "analysis.format_show_table('t7')"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1edc55dd748>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "analysis.show_plot('t7')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 输出分析报告"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "文档 [BENEFIT-002508-企业利润分析（2016~2021）.docx] 已输出到 [dist] 目录下。\n"
     ]
    }
   ],
   "source": [
    "# ReportDocument(analysis).save()\n",
    "from analysis.utils import read_company_code\n",
    "\n",
    "start = analysis.tables['t1'].index[0]\n",
    "end = analysis.tables['t1'].index[-1]\n",
    "\n",
    "name = f\"BENEFIT-{read_company_code()}-企业利润分析（{start}~{end}）.docx\"\n",
    "doc = ReportDocument(analysis, doc_name=name)\n",
    "doc.save()\n",
    "\n",
    "print(f\"文档 [{name}] 已输出到 [dist] 目录下。\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.4"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
